package models

import (
	"go-caipu/pkg/services/admin/model"
	"go-caipu/pkg/services/dto"
)

type SysDictType struct {
	DictId   int    `json:"dictId" gorm:"primaryKey;autoIncrement;comment:主键编码"`
	DictName string `json:"dictName" gorm:"type:varchar(64);comment:DictName"`
	DictType string `json:"dictType" gorm:"type:varchar(128);comment:DictType"`
	Status   int64  `json:"status" gorm:"type:int;comment:Status"`
	IsSystem bool   `json:"isSystem" gorm:"type:int;comment:isSystem"`
	Remark   string `json:"remark" gorm:"type:varchar(255);comment:Remark"`
	dto.ControlBy
	dto.ModelTime
}

func (SysDictType) TableName() string {
	return "sys_dict_type"
}

// SysDictData 字典值对象
type SysDictData struct {
	DictCode  int    `gorm:"primaryKey;autoIncrement;" json:"dictCode" example:"1"` //字典编码
	DictSort  int    `gorm:"" json:"dictSort"`                                      //显示顺序
	DictLabel string `gorm:"size:128;" json:"dictLabel"`                            //数据标签
	DictValue string `gorm:"size:255;" json:"dictValue"`                            //数据键值
	DictType  string `gorm:"size:64;" json:"dictType"`                              //字典类型
	DictID    int    `gorm:"size:8;" json:"dict_id"`                                //字典主键
	CssClass  string `gorm:"size:128;" json:"cssClass"`                             //
	ListClass string `gorm:"size:128;" json:"listClass"`                            //
	IsDefault string `gorm:"size:8;" json:"isDefault"`                              //
	Status    int    `gorm:"size:4;" json:"status"`                                 //状态
	Default   string `gorm:"size:8;" json:"default"`                                //
	Remark    string `gorm:"size:255;" json:"remark"`                               //备注
	dto.ControlBy
	dto.ModelTime
	CreateUser model.SysUserBaseInfo `gorm:"foreignKey:CreateBy;references:UserId"` //创建人
	UpdateUser model.SysUserBaseInfo `gorm:"foreignKey:UpdateBy;references:UserId"` //更新人
}

func (SysDictData) TableName() string {
	return "sys_dict_data"
}
